/**  
 * @Title: WebContextInit.java
 * @Package: com.itic.appbase.framework.plugins.SystemInit.WebContext
 * @author: idong
 * @date: 2015年5月11日 上午9:46:11
 * @version: V1.0  
 */

package com.itic.appbase.framework.plugins.sysinit.webcontext;

import java.util.Date;

import javax.servlet.ServletContext;

import com.itic.appbase.framework.utils.DateHelper;
import com.itic.appbase.framework.utils.StringHelper;
import com.itic.appbase.framework.utils.configuration.PropertyHelper;

/**
 * <p>
 * Company: itic
 * </p>
 * 
 * @author: 边玉武
 * @date: 2015年5月11日 上午9:46:11
 * @version: V1.0
 */
public class WebContextInit {

    private WebContextInit() {

    }

    /**
     * 
     * @param sc
     * @return
     */
    public static boolean init(ServletContext sc) {
        setVersionInfo(sc);
        return true;
    }

    /**
     * 生成当前环境、版本信息
     * 
     * @param sc
     */
    private static void setVersionInfo(ServletContext sc) {
        Boolean show = PropertyHelper.getBoolean("app.version.show");
        String date = PropertyHelper.getString("app.date");
        String mainVersion = PropertyHelper.getString("app.main_version");// 部署环境
        String secondaryVersion = PropertyHelper.getString("app.secondary_version");// 版本号
        String revisionNumber = PropertyHelper.getString("app.revision_number");// 修改版本号
        String greekletterVersion = PropertyHelper.getString("app.greekletter_version");
        if (show) {
            sc.setAttribute("showVersion", show);
            if (StringHelper.isBlank(date)) {
                date = DateHelper.formatDate(new Date(), "yyyyMMddHHmmss");
            }
            // 完整版本号
            String completeVerison = "V" + mainVersion.trim() + "." + secondaryVersion.trim() + "."
                    + revisionNumber.trim() + "." + date.trim() + "_" + greekletterVersion.trim();

            mainVersion = "0".equals(mainVersion.trim()) ? "集成环境" : "测试环境";

            sc.setAttribute("environment", mainVersion);

            sc.setAttribute("version", "版本号:");
            sc.setAttribute("complete_verison", completeVerison);
        }
    }
}
